Observe Signals
curl --request POST \
--url https://api.sophra.org/api/nous/signals/observe \
--header 'Content-Type: application/json' \
--data '
"{\r\n \"source\": \"{{analytics_source}}\",\r\n \"status\": \"{{analytics_status}}\",\r\n \"timeRange\": {\r\n \"start\": \"{{analytics_timeRange_start}}\",\r\n \"end\": \"{{analytics_timeRange_end}}\"\r\n },\r\n \"filters\": {\r\n \"metadata\": {\r\n \"environment\": \"{{analytics_filters_metadata_environment}}\",\r\n \"region\": \"{{analytics_filters_metadata_region}}\",\r\n \"clientVersion\": \"{{analytics_filters_metadata_clientVersion}}\"\r\n },\r\n \"performance\": {\r\n \"minLatency\": {{analytics_filters_performance_minLatency}},\r\n \"maxLatency\": {{analytics_filters_performance_maxLatency}},\r\n \"minSuccessRate\": {{analytics_filters_performance_minSuccessRate}}\r\n },\r\n \"volume\": {\r\n \"minCount\": {{analytics_filters_volume_minCount}},\r\n \"maxCount\": {{analytics_filters_volume_maxCount}}\r\n }\r\n },\r\n \"aggregation\": {\r\n \"groupBy\": {{analytics_aggregation_groupBy}},\r\n \"metrics\": {{analytics_aggregation_metrics}},\r\n \"interval\": \"{{analytics_aggregation_interval}}\"\r\n }\r\n}"
'import requests
url = "https://api.sophra.org/api/nous/signals/observe"
payload = "{
\"source\": \"{{analytics_source}}\",
\"status\": \"{{analytics_status}}\",
\"timeRange\": {
\"start\": \"{{analytics_timeRange_start}}\",
\"end\": \"{{analytics_timeRange_end}}\"
},
\"filters\": {
\"metadata\": {
\"environment\": \"{{analytics_filters_metadata_environment}}\",
\"region\": \"{{analytics_filters_metadata_region}}\",
\"clientVersion\": \"{{analytics_filters_metadata_clientVersion}}\"
},
\"performance\": {
\"minLatency\": {{analytics_filters_performance_minLatency}},
\"maxLatency\": {{analytics_filters_performance_maxLatency}},
\"minSuccessRate\": {{analytics_filters_performance_minSuccessRate}}
},
\"volume\": {
\"minCount\": {{analytics_filters_volume_minCount}},
\"maxCount\": {{analytics_filters_volume_maxCount}}
}
},
\"aggregation\": {
\"groupBy\": {{analytics_aggregation_groupBy}},
\"metrics\": {{analytics_aggregation_metrics}},
\"interval\": \"{{analytics_aggregation_interval}}\"
}
}"
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify('{\r\n "source": "{{analytics_source}}",\r\n "status": "{{analytics_status}}",\r\n "timeRange": {\r\n "start": "{{analytics_timeRange_start}}",\r\n "end": "{{analytics_timeRange_end}}"\r\n },\r\n "filters": {\r\n "metadata": {\r\n "environment": "{{analytics_filters_metadata_environment}}",\r\n "region": "{{analytics_filters_metadata_region}}",\r\n "clientVersion": "{{analytics_filters_metadata_clientVersion}}"\r\n },\r\n "performance": {\r\n "minLatency": {{analytics_filters_performance_minLatency}},\r\n "maxLatency": {{analytics_filters_performance_maxLatency}},\r\n "minSuccessRate": {{analytics_filters_performance_minSuccessRate}}\r\n },\r\n "volume": {\r\n "minCount": {{analytics_filters_volume_minCount}},\r\n "maxCount": {{analytics_filters_volume_maxCount}}\r\n }\r\n },\r\n "aggregation": {\r\n "groupBy": {{analytics_aggregation_groupBy}},\r\n "metrics": {{analytics_aggregation_metrics}},\r\n "interval": "{{analytics_aggregation_interval}}"\r\n }\r\n}')
};
fetch('https://api.sophra.org/api/nous/signals/observe', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sophra.org/api/nous/signals/observe",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode('{
"source": "{{analytics_source}}",
"status": "{{analytics_status}}",
"timeRange": {
"start": "{{analytics_timeRange_start}}",
"end": "{{analytics_timeRange_end}}"
},
"filters": {
"metadata": {
"environment": "{{analytics_filters_metadata_environment}}",
"region": "{{analytics_filters_metadata_region}}",
"clientVersion": "{{analytics_filters_metadata_clientVersion}}"
},
"performance": {
"minLatency": {{analytics_filters_performance_minLatency}},
"maxLatency": {{analytics_filters_performance_maxLatency}},
"minSuccessRate": {{analytics_filters_performance_minSuccessRate}}
},
"volume": {
"minCount": {{analytics_filters_volume_minCount}},
"maxCount": {{analytics_filters_volume_maxCount}}
}
},
"aggregation": {
"groupBy": {{analytics_aggregation_groupBy}},
"metrics": {{analytics_aggregation_metrics}},
"interval": "{{analytics_aggregation_interval}}"
}
}'),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sophra.org/api/nous/signals/observe"
payload := strings.NewReader("\"{\\r\\n \\\"source\\\": \\\"{{analytics_source}}\\\",\\r\\n \\\"status\\\": \\\"{{analytics_status}}\\\",\\r\\n \\\"timeRange\\\": {\\r\\n \\\"start\\\": \\\"{{analytics_timeRange_start}}\\\",\\r\\n \\\"end\\\": \\\"{{analytics_timeRange_end}}\\\"\\r\\n },\\r\\n \\\"filters\\\": {\\r\\n \\\"metadata\\\": {\\r\\n \\\"environment\\\": \\\"{{analytics_filters_metadata_environment}}\\\",\\r\\n \\\"region\\\": \\\"{{analytics_filters_metadata_region}}\\\",\\r\\n \\\"clientVersion\\\": \\\"{{analytics_filters_metadata_clientVersion}}\\\"\\r\\n },\\r\\n \\\"performance\\\": {\\r\\n \\\"minLatency\\\": {{analytics_filters_performance_minLatency}},\\r\\n \\\"maxLatency\\\": {{analytics_filters_performance_maxLatency}},\\r\\n \\\"minSuccessRate\\\": {{analytics_filters_performance_minSuccessRate}}\\r\\n },\\r\\n \\\"volume\\\": {\\r\\n \\\"minCount\\\": {{analytics_filters_volume_minCount}},\\r\\n \\\"maxCount\\\": {{analytics_filters_volume_maxCount}}\\r\\n }\\r\\n },\\r\\n \\\"aggregation\\\": {\\r\\n \\\"groupBy\\\": {{analytics_aggregation_groupBy}},\\r\\n \\\"metrics\\\": {{analytics_aggregation_metrics}},\\r\\n \\\"interval\\\": \\\"{{analytics_aggregation_interval}}\\\"\\r\\n }\\r\\n}\"")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sophra.org/api/nous/signals/observe")
.header("Content-Type", "application/json")
.body("\"{\\r\\n \\\"source\\\": \\\"{{analytics_source}}\\\",\\r\\n \\\"status\\\": \\\"{{analytics_status}}\\\",\\r\\n \\\"timeRange\\\": {\\r\\n \\\"start\\\": \\\"{{analytics_timeRange_start}}\\\",\\r\\n \\\"end\\\": \\\"{{analytics_timeRange_end}}\\\"\\r\\n },\\r\\n \\\"filters\\\": {\\r\\n \\\"metadata\\\": {\\r\\n \\\"environment\\\": \\\"{{analytics_filters_metadata_environment}}\\\",\\r\\n \\\"region\\\": \\\"{{analytics_filters_metadata_region}}\\\",\\r\\n \\\"clientVersion\\\": \\\"{{analytics_filters_metadata_clientVersion}}\\\"\\r\\n },\\r\\n \\\"performance\\\": {\\r\\n \\\"minLatency\\\": {{analytics_filters_performance_minLatency}},\\r\\n \\\"maxLatency\\\": {{analytics_filters_performance_maxLatency}},\\r\\n \\\"minSuccessRate\\\": {{analytics_filters_performance_minSuccessRate}}\\r\\n },\\r\\n \\\"volume\\\": {\\r\\n \\\"minCount\\\": {{analytics_filters_volume_minCount}},\\r\\n \\\"maxCount\\\": {{analytics_filters_volume_maxCount}}\\r\\n }\\r\\n },\\r\\n \\\"aggregation\\\": {\\r\\n \\\"groupBy\\\": {{analytics_aggregation_groupBy}},\\r\\n \\\"metrics\\\": {{analytics_aggregation_metrics}},\\r\\n \\\"interval\\\": \\\"{{analytics_aggregation_interval}}\\\"\\r\\n }\\r\\n}\"")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sophra.org/api/nous/signals/observe")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "\"{\\r\\n \\\"source\\\": \\\"{{analytics_source}}\\\",\\r\\n \\\"status\\\": \\\"{{analytics_status}}\\\",\\r\\n \\\"timeRange\\\": {\\r\\n \\\"start\\\": \\\"{{analytics_timeRange_start}}\\\",\\r\\n \\\"end\\\": \\\"{{analytics_timeRange_end}}\\\"\\r\\n },\\r\\n \\\"filters\\\": {\\r\\n \\\"metadata\\\": {\\r\\n \\\"environment\\\": \\\"{{analytics_filters_metadata_environment}}\\\",\\r\\n \\\"region\\\": \\\"{{analytics_filters_metadata_region}}\\\",\\r\\n \\\"clientVersion\\\": \\\"{{analytics_filters_metadata_clientVersion}}\\\"\\r\\n },\\r\\n \\\"performance\\\": {\\r\\n \\\"minLatency\\\": {{analytics_filters_performance_minLatency}},\\r\\n \\\"maxLatency\\\": {{analytics_filters_performance_maxLatency}},\\r\\n \\\"minSuccessRate\\\": {{analytics_filters_performance_minSuccessRate}}\\r\\n },\\r\\n \\\"volume\\\": {\\r\\n \\\"minCount\\\": {{analytics_filters_volume_minCount}},\\r\\n \\\"maxCount\\\": {{analytics_filters_volume_maxCount}}\\r\\n }\\r\\n },\\r\\n \\\"aggregation\\\": {\\r\\n \\\"groupBy\\\": {{analytics_aggregation_groupBy}},\\r\\n \\\"metrics\\\": {{analytics_aggregation_metrics}},\\r\\n \\\"interval\\\": \\\"{{analytics_aggregation_interval}}\\\"\\r\\n }\\r\\n}\""
response = http.request(request)
puts response.read_bodyNous > Signals
Observe Signals
POST
/
nous
/
signals
/
observe
Observe Signals
curl --request POST \
--url https://api.sophra.org/api/nous/signals/observe \
--header 'Content-Type: application/json' \
--data '
"{\r\n \"source\": \"{{analytics_source}}\",\r\n \"status\": \"{{analytics_status}}\",\r\n \"timeRange\": {\r\n \"start\": \"{{analytics_timeRange_start}}\",\r\n \"end\": \"{{analytics_timeRange_end}}\"\r\n },\r\n \"filters\": {\r\n \"metadata\": {\r\n \"environment\": \"{{analytics_filters_metadata_environment}}\",\r\n \"region\": \"{{analytics_filters_metadata_region}}\",\r\n \"clientVersion\": \"{{analytics_filters_metadata_clientVersion}}\"\r\n },\r\n \"performance\": {\r\n \"minLatency\": {{analytics_filters_performance_minLatency}},\r\n \"maxLatency\": {{analytics_filters_performance_maxLatency}},\r\n \"minSuccessRate\": {{analytics_filters_performance_minSuccessRate}}\r\n },\r\n \"volume\": {\r\n \"minCount\": {{analytics_filters_volume_minCount}},\r\n \"maxCount\": {{analytics_filters_volume_maxCount}}\r\n }\r\n },\r\n \"aggregation\": {\r\n \"groupBy\": {{analytics_aggregation_groupBy}},\r\n \"metrics\": {{analytics_aggregation_metrics}},\r\n \"interval\": \"{{analytics_aggregation_interval}}\"\r\n }\r\n}"
'import requests
url = "https://api.sophra.org/api/nous/signals/observe"
payload = "{
\"source\": \"{{analytics_source}}\",
\"status\": \"{{analytics_status}}\",
\"timeRange\": {
\"start\": \"{{analytics_timeRange_start}}\",
\"end\": \"{{analytics_timeRange_end}}\"
},
\"filters\": {
\"metadata\": {
\"environment\": \"{{analytics_filters_metadata_environment}}\",
\"region\": \"{{analytics_filters_metadata_region}}\",
\"clientVersion\": \"{{analytics_filters_metadata_clientVersion}}\"
},
\"performance\": {
\"minLatency\": {{analytics_filters_performance_minLatency}},
\"maxLatency\": {{analytics_filters_performance_maxLatency}},
\"minSuccessRate\": {{analytics_filters_performance_minSuccessRate}}
},
\"volume\": {
\"minCount\": {{analytics_filters_volume_minCount}},
\"maxCount\": {{analytics_filters_volume_maxCount}}
}
},
\"aggregation\": {
\"groupBy\": {{analytics_aggregation_groupBy}},
\"metrics\": {{analytics_aggregation_metrics}},
\"interval\": \"{{analytics_aggregation_interval}}\"
}
}"
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify('{\r\n "source": "{{analytics_source}}",\r\n "status": "{{analytics_status}}",\r\n "timeRange": {\r\n "start": "{{analytics_timeRange_start}}",\r\n "end": "{{analytics_timeRange_end}}"\r\n },\r\n "filters": {\r\n "metadata": {\r\n "environment": "{{analytics_filters_metadata_environment}}",\r\n "region": "{{analytics_filters_metadata_region}}",\r\n "clientVersion": "{{analytics_filters_metadata_clientVersion}}"\r\n },\r\n "performance": {\r\n "minLatency": {{analytics_filters_performance_minLatency}},\r\n "maxLatency": {{analytics_filters_performance_maxLatency}},\r\n "minSuccessRate": {{analytics_filters_performance_minSuccessRate}}\r\n },\r\n "volume": {\r\n "minCount": {{analytics_filters_volume_minCount}},\r\n "maxCount": {{analytics_filters_volume_maxCount}}\r\n }\r\n },\r\n "aggregation": {\r\n "groupBy": {{analytics_aggregation_groupBy}},\r\n "metrics": {{analytics_aggregation_metrics}},\r\n "interval": "{{analytics_aggregation_interval}}"\r\n }\r\n}')
};
fetch('https://api.sophra.org/api/nous/signals/observe', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sophra.org/api/nous/signals/observe",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode('{
"source": "{{analytics_source}}",
"status": "{{analytics_status}}",
"timeRange": {
"start": "{{analytics_timeRange_start}}",
"end": "{{analytics_timeRange_end}}"
},
"filters": {
"metadata": {
"environment": "{{analytics_filters_metadata_environment}}",
"region": "{{analytics_filters_metadata_region}}",
"clientVersion": "{{analytics_filters_metadata_clientVersion}}"
},
"performance": {
"minLatency": {{analytics_filters_performance_minLatency}},
"maxLatency": {{analytics_filters_performance_maxLatency}},
"minSuccessRate": {{analytics_filters_performance_minSuccessRate}}
},
"volume": {
"minCount": {{analytics_filters_volume_minCount}},
"maxCount": {{analytics_filters_volume_maxCount}}
}
},
"aggregation": {
"groupBy": {{analytics_aggregation_groupBy}},
"metrics": {{analytics_aggregation_metrics}},
"interval": "{{analytics_aggregation_interval}}"
}
}'),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sophra.org/api/nous/signals/observe"
payload := strings.NewReader("\"{\\r\\n \\\"source\\\": \\\"{{analytics_source}}\\\",\\r\\n \\\"status\\\": \\\"{{analytics_status}}\\\",\\r\\n \\\"timeRange\\\": {\\r\\n \\\"start\\\": \\\"{{analytics_timeRange_start}}\\\",\\r\\n \\\"end\\\": \\\"{{analytics_timeRange_end}}\\\"\\r\\n },\\r\\n \\\"filters\\\": {\\r\\n \\\"metadata\\\": {\\r\\n \\\"environment\\\": \\\"{{analytics_filters_metadata_environment}}\\\",\\r\\n \\\"region\\\": \\\"{{analytics_filters_metadata_region}}\\\",\\r\\n \\\"clientVersion\\\": \\\"{{analytics_filters_metadata_clientVersion}}\\\"\\r\\n },\\r\\n \\\"performance\\\": {\\r\\n \\\"minLatency\\\": {{analytics_filters_performance_minLatency}},\\r\\n \\\"maxLatency\\\": {{analytics_filters_performance_maxLatency}},\\r\\n \\\"minSuccessRate\\\": {{analytics_filters_performance_minSuccessRate}}\\r\\n },\\r\\n \\\"volume\\\": {\\r\\n \\\"minCount\\\": {{analytics_filters_volume_minCount}},\\r\\n \\\"maxCount\\\": {{analytics_filters_volume_maxCount}}\\r\\n }\\r\\n },\\r\\n \\\"aggregation\\\": {\\r\\n \\\"groupBy\\\": {{analytics_aggregation_groupBy}},\\r\\n \\\"metrics\\\": {{analytics_aggregation_metrics}},\\r\\n \\\"interval\\\": \\\"{{analytics_aggregation_interval}}\\\"\\r\\n }\\r\\n}\"")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sophra.org/api/nous/signals/observe")
.header("Content-Type", "application/json")
.body("\"{\\r\\n \\\"source\\\": \\\"{{analytics_source}}\\\",\\r\\n \\\"status\\\": \\\"{{analytics_status}}\\\",\\r\\n \\\"timeRange\\\": {\\r\\n \\\"start\\\": \\\"{{analytics_timeRange_start}}\\\",\\r\\n \\\"end\\\": \\\"{{analytics_timeRange_end}}\\\"\\r\\n },\\r\\n \\\"filters\\\": {\\r\\n \\\"metadata\\\": {\\r\\n \\\"environment\\\": \\\"{{analytics_filters_metadata_environment}}\\\",\\r\\n \\\"region\\\": \\\"{{analytics_filters_metadata_region}}\\\",\\r\\n \\\"clientVersion\\\": \\\"{{analytics_filters_metadata_clientVersion}}\\\"\\r\\n },\\r\\n \\\"performance\\\": {\\r\\n \\\"minLatency\\\": {{analytics_filters_performance_minLatency}},\\r\\n \\\"maxLatency\\\": {{analytics_filters_performance_maxLatency}},\\r\\n \\\"minSuccessRate\\\": {{analytics_filters_performance_minSuccessRate}}\\r\\n },\\r\\n \\\"volume\\\": {\\r\\n \\\"minCount\\\": {{analytics_filters_volume_minCount}},\\r\\n \\\"maxCount\\\": {{analytics_filters_volume_maxCount}}\\r\\n }\\r\\n },\\r\\n \\\"aggregation\\\": {\\r\\n \\\"groupBy\\\": {{analytics_aggregation_groupBy}},\\r\\n \\\"metrics\\\": {{analytics_aggregation_metrics}},\\r\\n \\\"interval\\\": \\\"{{analytics_aggregation_interval}}\\\"\\r\\n }\\r\\n}\"")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sophra.org/api/nous/signals/observe")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "\"{\\r\\n \\\"source\\\": \\\"{{analytics_source}}\\\",\\r\\n \\\"status\\\": \\\"{{analytics_status}}\\\",\\r\\n \\\"timeRange\\\": {\\r\\n \\\"start\\\": \\\"{{analytics_timeRange_start}}\\\",\\r\\n \\\"end\\\": \\\"{{analytics_timeRange_end}}\\\"\\r\\n },\\r\\n \\\"filters\\\": {\\r\\n \\\"metadata\\\": {\\r\\n \\\"environment\\\": \\\"{{analytics_filters_metadata_environment}}\\\",\\r\\n \\\"region\\\": \\\"{{analytics_filters_metadata_region}}\\\",\\r\\n \\\"clientVersion\\\": \\\"{{analytics_filters_metadata_clientVersion}}\\\"\\r\\n },\\r\\n \\\"performance\\\": {\\r\\n \\\"minLatency\\\": {{analytics_filters_performance_minLatency}},\\r\\n \\\"maxLatency\\\": {{analytics_filters_performance_maxLatency}},\\r\\n \\\"minSuccessRate\\\": {{analytics_filters_performance_minSuccessRate}}\\r\\n },\\r\\n \\\"volume\\\": {\\r\\n \\\"minCount\\\": {{analytics_filters_volume_minCount}},\\r\\n \\\"maxCount\\\": {{analytics_filters_volume_maxCount}}\\r\\n }\\r\\n },\\r\\n \\\"aggregation\\\": {\\r\\n \\\"groupBy\\\": {{analytics_aggregation_groupBy}},\\r\\n \\\"metrics\\\": {{analytics_aggregation_metrics}},\\r\\n \\\"interval\\\": \\\"{{analytics_aggregation_interval}}\\\"\\r\\n }\\r\\n}\""
response = http.request(request)
puts response.read_bodyBody
application/json
The body is of type object.
Response
200 - application/json
Successful response
⌘I

